1. Technical Field of the Invention
This invention pertains to retrieval of data. More specifically, it relates to variable size retrieval of Webpage images, audio, video and text data.
2. Background Art
It is an attribute of the World Wide Web that users wait. They are, it would seem, constantly waiting for web pages to be retrieved and for images to be loaded, or sound bites to be loaded, video to be loaded and/or large amounts of text to be loaded for display or performance at a user terminal.
Some pages require enormous amounts of data for images, and even more data for audio and video clips. Current web browsers allow the user to prevent the retrieval of video clips and to prevent audio clips. However, there currently is no provision for allowing a user to define by data type the minimum and maximum data sizes that will be communicated over the web by a server in response to a client browser request.
Consequently, there is a need in the art for a system and method whereby users are provided the capability of preventing certain sizes of data from being retrieved. That is, to provide such users the capability to limit the size of text, image, audio and video data from being retrieved. There is, further, a need in the art for a system and method whereby users are provided the capability of limiting data served by a server in response to a browser request to a range within user selected minimum and maximum data size, and to selectively define that minimum and maximum data size by data type.
A HEAD method is defined in the HTTP protocol at level 0.9 and higher by which a HTTP server responds to a browser request by serving to the browser just the header of a data file. The header contains the content-length of the data that would have been served had the complete file been requested using a GET. Currently the HEAD method is being used for testing hypertext links for validity, accessibility, and recent modification. It is also used to filter the cache after data has been retrieved. Typically, applications using the HEAD method will retrieve the data at least once before deciding to either retrieve more data or discard the data.
RFC 1945, which describes the GET and HEAD methods, includes the following. The web link is:
http://www.ics.uci.edu/pub//ietf/http/rfc1945
From RFC 1945, at sections 5.1.1, 8.1 and 8.2:
5.1.1 Method
The Method token indicates the method to be performed on the resource identified by the Request-URI. The method is case-sensitive.
Method= “GET”; Section 8.1| “HEAD”; Section 8.2| “POST”; Section 8.3| extension-methodextension-method = token                “The list of methods acceptable by a specific resource can change dynamically; the client is notified through the return code of the response if a method is not allowed on a resource. Servers should return the status code 501 (not implemented) if the method is unrecognized or not implemented.”        “The methods commonly used by HTTP/1.0 applications are fully defined in Section 8 . . . ”        
8.1 GET                “The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the entity in the response and not the source text of the process, unless that text happens to be the output of the process.”        “The semantics of the GET method changes to a “conditional GET” if the request message includes an If-Modified-Since header field. A conditional GET method requests that the identified resource be transferred only if it has been modified since the date given by the If-Modified-Since header, as described in Section 10.9. The conditional GET method is intended to reduce network usage by allowing cached entities to be refreshed without requiring multiple requests or transferring unnecessary data.”        
8.2 HEAD                “The HEAD method is identical to GET except that the server must not return any Entity-Body in the response. The metainformation contained in the HTTP headers in response to a HEAD request should be identical to the information sent in response to a GET request. This method can be used for obtaining metainformation about the resource identified by the Request-URI without transferring the Entity-Body itself. This method is often used for testing hypertext links for validity, accessibility, and recent modification.”        “There is no “conditional HEAD” request analogous to the conditional GET. If an If-Modified-Since header field is included with a HEAD request, it should be ignored.”        
It is an object of the invention to provide an improved system and method for allowing a user to define the type and size of data to be served in response to a client browser request.
It is a further object of the invention to provide an improved system and method for preventing transfer over the web of data files larger than those which a user is willing to accept.
It is a further object of the invention to provide an improved system and method for reducing the wait time perceived by a user when requesting data from a server.
It is a further object of the invention to provide an improved system and method utilizing the HEAD method for allowing a user to define the type and size of data to be served in response to a client browser request.
It is a further object of the invention to provide a system and method utilizing the HEAD method for allowing a user to determine whether to retrieve data from a server before retrieving any data other than the header.
It is a further object of the invention to provide a system and method allowing a user to prevent smaller content web pages from being returned.